package br.com.werp.regras.documento.integracao;

import br.com.werp.regras.geral.integracao.MasterDAO;
import br.com.werp.regras.geral.vos.documento.DocumentoDominioVO;
import br.com.werp.regras.geral.vos.tabelas.Dominio;
import br.com.werp.regras.geral.vos.tabelas.Tipo_documento;

import java.sql.Connection;

import java.util.List;


/**
 * @author Sobreira
 * Criado em 14/06/2006
 */
public class DominioDAO extends MasterDAO {
    private static DominioDAO dominioDAO;

    private DominioDAO(String banco) throws Exception {
        super(banco);
    }

    public static DominioDAO getDominioDAO() throws Exception {
        if (dominioDAO == null) {
            dominioDAO = new DominioDAO("");
        }

        return dominioDAO;
    }

    public List pesquisarDocumentoDominioVO(
        DocumentoDominioVO documentoDominioVO) throws Exception {
        Connection connection = getConexao();

        try {
            String where = " and tdoc_dominio = domi_id ";

            return pesquisarVO(connection, documentoDominioVO, where,
                "tipo_documento , dominio");
        } finally {
            liberaConeccao(connection);
        }
    }

    public List pesquisarDominio(Dominio dominio) throws Exception {
        Connection connection = getConexao();

        try {
            return pesquisarVO(connection, dominio);
        } finally {
            liberaConeccao(connection);
        }
    }

    public List pesquisarTipo_documento(Tipo_documento tipo_documento)
        throws Exception {
        Connection connection = getConexao();

        try {
            return pesquisarVO(connection, tipo_documento);
        } finally {
            liberaConeccao(connection);
        }
    }
}
